import request from  '../../utils/request'
var app = getApp()
Page({
  data: {
      //判断小程序的API，回调，参数，组件等是否在当前版本可用。
      canIUse: wx.canIUse('button.open-type.getUserInfo'),
      isHide: false
  },

  onLoad: function() {
      var that = this;
      // 查看是否授权
      wx.getSetting({
          success: function(res) {
              if (res.authSetting['scope.userInfo']) {
                // wx.redirectTo({
                // //   url: '/pages/home/home'
                // //url: '/pages/test/test'
                // });
                wx.switchTab({
                  url: '/pages/home/home',
                })
                wx.getUserInfo({
                    success: function(res) {
                        // 用户已经授权过,不需要显示授权页面,所以不需要改变 isHide 的值
                        // 根据自己的需求有其他操作再补充
                        // 我这里实现的是在用户授权成功后，调用微信的 wx.login 接口，从而获取code
                    wx.login({
                    success: res => {
                        // 发送 res.code 到后台换取 openId, sessionKey, unionId
                        wx.request({
                        url: 'http://localhost:8000/weLogin',
                        data: {
                            AppID: 'wxec31dcb0ad522857',
                            AppSecret: '5dc71e74bc06d3317024b4c0b265be9b',
                            code: res.code
                        },
                        success: (res) => {
                            // 将此用户的登录状态固定到一个session里面，并将session返回                       
                            wx.request({
                            url: 'http://localhost:8000/setSession',
                            data: {
                                openId: res.data.openid
                            },
                            success: (res) => {
                                // 将此用户的session保存到小程序端，并在每次此用户发起请求时，调用此session
                                wx.setStorageSync('sessionid', res.data)
                                // 用于测试调用此session获取用户状态
                                request.get('/getOpenId',{}).then(res => {
                                console.log(res);
                                })
                            }
                            })
                        }
                        })
                        }
                    })
                    }
                });
              } else {
                  // 用户没有授权
                  // 改变 isHide 的值，显示授权页面
                  that.setData({
                      isHide: true
                  });
              }
          }
      });
  },

  bindGetUserInfo: function(e) {
      if (e.detail.userInfo) {
          //用户按了允许授权按钮
          var that = this;
          // 获取到用户的信息了，打印到控制台上看下
          console.log("用户的信息如下：");
          console.log(e.detail.userInfo);
          app.globalData.userInfo = e.detail.userInfo
          //授权成功后,通过改变 isHide 的值，让实现页面显示出来，把授权页面隐藏起来
          that.setData({
              isHide: false
          });
          wx.switchTab({
            url: '/pages/home/home'
          });
      } else {
          //用户按了拒绝按钮
          wx.showModal({
              title: '警告',
              content: '您点击了拒绝授权，将无法进入小程序，请授权之后再进入!!!',
              showCancel: false,
              confirmText: '返回授权',
              success: function(res) {
                  // 用户没有授权成功，不需要改变 isHide 的值
                  if (res.confirm) {
                      console.log('用户点击了“返回授权”');
                  }
              }
          });
      }
  }
})